Method for initiating internet telephone service from a web page

ABSTRACT

A direct telephone dialing scheme for initiating internet telephone service from a web page is provided. The scheme allows a caller, using an internet telephone service, to place telephone call to a telephone number appearing on any web page directly from that web page. In one embodiment, a caller navigates to a desired web page on the internet and the caller dials a telephone number on that web page directly to initiate a two-way audio communication with the destination telephone number using an internet telephone service. The direct telephone dialing scheme of the present invention improves the accessibility and ease of use of internet telephone services. Furthermore, the direct telephone dialing scheme can be used with video, data, and fax communications which are supported by the VoIP data communication standard.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a Continuation patent application of U.S. patentapplication Ser. No. 11/644,013 filed on Dec. 21, 2006; which is areissue of U.S. patent application Ser. No. 09/668,427 (U.S. Pat. No.6,834,048) filed on Sep. 22, 2000, which claims the benefit under 35U.S.C. § 121, and which are incorporated herein by reference in theirentirety.

REFERENCE TO APPENDICES

Appendix A, which is an integral part of the present disclosure,includes a computer program listing of components of the MicrosoftVisual C++ project used to create a dynamically linked library (DLL)named IEHooker.DLL for implementing the direct telephone dialing schemeaccording to one embodiment of the present invention.

Appendix B, which is an integral part of the present disclosure, showsmodifications to the Microsoft Windows registry for implementing thedirect telephone dialing scheme according to one embodiment of thepresent invention.

Appendices A and B contain copyrighted material. The copyright owner,Dialpad.com, Inc., has no objection to the facsimile reproduction byanyone of the patent documents or patent disclosure, as it appears inthe Patent and Trademark Office patent files or records, but otherwisereserves all copyrights whatsoever.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention generally relates to voice communications; and inparticular, the present invention relates to a method for initiatinginternet telephone service from a web page.

2. Background of the Invention

Voice over internet protocol (VoIP) technology has spawned madeavailable internet telephone services. An internet telephone serviceallows a caller to place a telephone call from his/her personal computer(PC) through the internet to another audio communication device, such asa wired or wireless telephone. VoIP technology is based on the ITU-TH.323 standard and supports audio, video, data, or fax communicationsusing the internet protocol (IP) on the public internet and withinprivate intranets.

Internet telephone service can take many forms. Typically, a calleraccesses an internet telephone service provider's web site whichprovides an interface to the internet telephone service. The callerenters then the telephone number he wishes to dial. The telephoneservice “dials” the telephone number and “rings” the destinationcommunication device (e.g. a telephone).

However, improvements over the existing internet telephone services aredesired. In particular, it is desirable to provide features to makeinternet telephone services more convenient and accessible.

SUMMARY OF THE INVENTION

In accordance with an embodiment of the present invention, a method forinitiating an internet telephone service from a web page containing atleast one telephone number comprises: (a) accessing the web page using abrowser; (b) downloading a web page document associated with the webpage; (c) parsing the web page document for detecting a character stringindicative of a telephone number; (d) modifying the character string inthe web page document into a link to the internet telephone service; (e)providing the web page document including the modified character stringto the browser; and (f) displaying the web page on the browser includingthe telephone number.

According to another embodiment of the present invention, the methodfurther comprises: (g) selecting the character string indicative of thetelephone number; (h) activating the link to the internet telephoneservice; (i) passing the telephone number to the internet telephoneservice; (j) launching a server side script at the internet telephoneservice for initiating a telephone call to the telephone number; and (k)establishing two-way communications between a caller selecting thecharacter string and a destination audio device designated by thetelephone number.

The present invention is better understood upon consideration of thedetailed description below and the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A illustrates one embodiment of a communication system forproviding audio communication between a personal computer and an audiocommunication device.

FIG. 1B illustrates another embodiment of a communication system forproviding audio communication between a personal computer and an audiocommunication device where the personal computer is located behind afirewall.

FIG. 2 illustrates the conventional operation of a browser fordownloading and displaying a web page document.

FIG. 3 illustrates the operation of a browser together with the directtelephone dialing scheme of the present invention.

FIG. 4 is a flow diagram illustrating the detailed operation of thedirect telephone dialing scheme for internet telephony according to oneembodiment of the present invention.

FIG. 5A illustrates an exemplary web page containing telephone numbersdisplayed by Microsoft Internet Explorer™.

FIG. 5B illustrates the web page of FIG. 5A displayed by MicrosoftInternet Explorers™ after the operation of the direct telephone dialingscheme of the present invention.

In the present disclosure, like objects which appear in more than onefigure are provided with like reference numerals.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

In accordance with the present invention, a direct telephone dialingscheme for internet telephony is provided to allow a caller, using aninternet telephone service, to place a telephone call to a telephonenumber appearing on any web page directly from that web page. In oneembodiment, a caller navigates on the internet to a desired web page andthen clicks on a telephone number appearing on the web page to initiatea telephone call using an internet telephone service. Contrary to aconventional telephone service initialization process, the caller mayplace a telephone call without the need to navigate to the internettelephone service provider's web site and enter or type in the desiredtelephone number on the service provider's web site. The directtelephone dialing scheme of the present invention greatly improves theaccessibility and ease of use of internet telephone services andprovides convenience not realized by conventional internet telephoneservices.

A direct telephone dialing scheme of the present invention can be usedwith any internet telephone service, such as those provided byDialpad.com, Phonefree.com, and Net2phone. In one embodiment, theinternet telephone service is based on the communication systemdescribed in co-pending and commonly assigned U.S. patent applicationSer. No. 09/401,898, entitled “Scaleable Communications System,” ofWongyu Cho et al., filed Sep. 24, 1999, which is incorporated herein byreference in its entirety. FIG. 1A illustrates one embodiment of thecommunication system of the aforementioned patent application by Cho etal. which provides audio communication between a personal computer 11and an audio communication device 14. In operation, a local caller usingcomputer 11, equipped with a sound card and headset, for example, uses aweb browser to access and log onto web site 16 of an internet telephoneservice provider. After logging-on, the local caller provides the phonenumber of regular telephone 14 to web site 16, which then directs anInternet Telephone Service Provider (ITSP) gateway 12 to provide a voiceconnection between computer 11 and telephone 14. ITSP gateways areavailable from several network service providers including the IDTCorporation and Qwest Communications. ITSP gateway 12 is coupled to aremote caller who, in this example, uses telephone 14 linked to a publicswitched telephone network (PSTN) 13. PSTN 13 provides either wired orwireless telephone service commonly known as “plain old telephoneservice” (POTS). ITSP gateway 12 converts the voice data from computer11 into corresponding voice signals for transmission to telephone 14through PSTN 13. Conversely, ITSP gateway 12 converts voice signalsreceived from telephone 14 into a form that is suitable for transmissionover the internet to computer 11. The direct-dial internet telephoneservice initiation scheme of the present invention can also be used witha network in which computer 11 is located behind a firewall 15 asillustrated in FIG. 1B. A method for exchanging data with computerswithin a secure network is described in copending and commonly assignedU.S. patent application Ser. No. 09/627,723, “Data Exchange WithComputers Within A Secure Network”, by Wongyu Cho and Hyungkeun Hong,incorporated herein by reference in its entirety.

To use an internet telephone service to place a telephone call, a calleruses a personal computer (such as PC 11 in FIG. 1A) to access theinternet or a private network. The personal computer is equipped with aweb browser such as Microsoft Internet Explorer™ or Netscape Navigator™for accessing a web page with graphical content. To specify a web site,the caller enters a uniform resource locator (URL) specifying both theserver and the specific data (“web page”) requested. The URL may specifya hypertext transfer protocol (HTTP) or another transfer protocol forcommunicating between the server and the browser. In conventionalinternet telephone service, the caller accesses the web site of aninternet telephone service provider and enters the telephone number ofthe destination communication device on a “console” (e.g., a graphicalcaller interface) of the provider's web site. The internet telephoneservice provider then dials the telephone number. However, in manyinstances, the caller may navigate to a web page containing telephonenumbers which the caller wishes to dial. For example, the caller maynavigate to the web page of a local restaurant which includes thetelephone number of the restaurant. To place a telephone call to therestaurant using internet telephony, such as to make a dinnerreservation, the caller has to record the telephone number in somemanner and go to the web site of his desired internet telephone serviceprovider by specifying the provider's URL. The caller then enters therecorded telephone number into the console at the web site of thetelephone service provider for dialing the telephone number. Thistelephone dialing process is very cumbersome, particularly when thecaller is viewing a page containing several telephone numbers which hewishes to dial in sequence, such as when the caller is viewing a yellowpage listing of restaurants in the local area.

The direct telephone dialing scheme of the present invention facilitatesconvenient internet telephone service by integrating internet telephoneservices with telephone numbers appearing on any web pages. A caller maydial a telephone number appearing on any web page directly from that webpage. In one embodiment, the caller dials the telephone number byplacing the cursor on the telephone number and selecting the telephonenumber (such as by clicking on the number). The caller does not have toleave the web page he is currently viewing and can thus convenientlydial one or more of the telephone numbers appearing on the web page.

According to one embodiment of the present invention, the directtelephone dialing scheme for internet telephony is embodied in asoftware program operating as a browser level application. The softwareprogram, called the Direct Dial software program, is installed in thecaller's computer and works cooperatively with the browser applicationto provide the caller with a more convenient access to internettelephone services. The operation of the direct telephone dialing schemewith a browser application is explained with reference to the flowchartsin FIGS. 2 and 3.

Referring to FIG. 2, when a caller navigates to a new web pageidentified by a new URL, the browser performs three basic functions.First, the browser downloads the selected web page document (step 200).Typically, the web page document is written using HTML (hypertext markuplanguage). Then, the browser interprets the web page document andprepares the host environment for the document (step 202). Finally, thebrowser renders the web page on the caller's computer display (step204). When the direct telephone dialing scheme for internet telephony ofthe present invention is installed into the caller's computer, thebrowser operates according to the flowchart in FIG. 3. The directtelephone dialing scheme operates to intercept a web page documentdownloaded by the browser, and parses and modifies the web page asneeded (step 310) before the web page is interpreted by the browser(step 202). Specifically, the direct telephone dialing scheme operatesto parse the web page document, detect for text strings matching thecriteria of telephone numbers, and modify the text string into a link toan internet telephone service provider so that the caller may activatethe internet telephone service upon selecting or clicking on themodified text string. After the direct dial software program operates onthe web page, the web page document with the modified text string isreturned to the browser, interpreted (step 202), and then rendered onthe computer display of the caller's computer (step 204).

FIG. 4 is a flow diagram illustrating the detailed operation of thedirect telephone dialing scheme for internet telephony according to oneembodiment of the present invention. First, a caller installs the DirectDial software program that embodies the direct telephone dialing schemeof the present invention (step 402). For instance, the caller can copythe Direct Dial software program to his host computer and install thesoftware program on the computer as is conventionally done. In oneimplementation, the Direct Dial software program is provided in adynamically linked library (DLL) file and after the caller copies theDLL file to his host computer, the caller installs the DLL file byregistering the file with the Microsoft Windows™ operating system usingthe “REGSVR32.exe” file. When the Direct Dial software program isinstalled onto the caller's computer, the program is loaded whenever thebrowser application is activated.

After the caller installs the Direct Dial software program, the callercan then invoke the browser application and access the internet,selecting web sites she wishes to view. To access a particular web page,the caller specifies the URL of the desired web page and the browserdownloads the web page document associated with the URL (step 404).Before the web page is interpreted by the browser for display on thecomputer screen, the direct telephone dialing program of the presentinvention intercepts the web page (step 406). The direct telephonedialing scheme of the present invention operates to parse the web pagedocument and detect text strings which constitute telephone numbersappearing in the document (step 408). In one embodiment, the directtelephone dialing scheme examines the character strings in the documentand identifies character strings having the following formats asconstituting telephone numbers:

(###)###-####,

(###) ###-####,

###. ###. ####,

###/###/####,

###/###-####,

###-###-####

(###-###-####),

#-###-###-####,

+# (###) ###-####,

+# (###)###-####,

+# ### ### ####,

+#-### ### ####,

+#-### ###-####,

+#-###-###-####,

### ### ####,

### ###.####,

### ###-####, and ##########,

where # represents an alphanumeric character from 0 to 9 and from A toZ. Note that the direct telephone dialing scheme recognizes a characterstring with the format “##########” as a telephone number only when thefirst three characters are numeric characters from 0 to 9. In thepresent embodiment, the direct telephone dialing scheme recognizes any10-digit alphanumeric string or any 11-digit alphanumeric string astelephone numbers. Furthermore, the alphanumeric strings may use anyform of character separations including but not limited to: “.”, “/”,“-”, “+”, “(”, and “)”. Thus, the formats given above can be used torecognize United States telephone numbers in any format. The use ofalphanumeric characters in the present embodiment allows the recognitionof telephone numbers which are spelled in alphabetical characters, suchas 1-800-ASK-USPS used by the United States Postal Service. In thepresent embodiment, the recognized telephone numbers always include thearea code, even for local calling. However, the 1 prefix is optional.The advantage of only recognizing telephone numbers including the areacode is to ensure that the telephone call is placed to the correctrecipient. Since the internet allows the caller to access web pageswithout geographic limits, a caller often accesses web pages outside ofhis local telephone dialing area. By recognizing only telephone numbersincluding the area code, the direct telephone dialing scheme of thepresent invention ensures that any telephone call placed will be to thecorrect recipient. Of course, the area code requirement is optional andthe direct telephone dialing scheme can be made to work with telephonenumbers not including area codes.

Of course, the direct telephone dialing scheme of the present inventioncan also operate with international telephone numbers for dialing atelephone number outside of the country the caller is in. Additionaltelephone number templates can be added to the direct telephone dialingscheme for recognizing international telephone numbers. For example, atypical Korean telephone number has the format: 82-2-2000-1000. If it isimportant to recognize Korean telephone numbers, a telephone numbertemplate such as: ##-#-####-#### can be used. Furthermore, the directtelephone dialing scheme of the present invention can also append thenecessary international dialing access code to the internationaltelephone number to facilitate international calling using an internettelephone service. Thus, if the caller is in the United States, thedirect telephone dialing scheme can append the code “011” to thebeginning of an international telephone number so that an internettelephone service can place the telephone call directly to the oversearecipient.

After the direct telephone dialing scheme identifies certain characterstrings in the web page document as telephone numbers, the telephonedialing scheme proceeds to modify the identified character strings (step410). Specifically, the character strings are modified to include a linkto an internet telephone service provider. In one embodiment, theappearance of character strings is also modified. For example, thecharacter strings can be underlined, highlighted, or bolded. Bymodifying the appearance of the character strings, the direct telephonedialing scheme of the present invention identifies to the caller thecharacter strings on the web page which have been designated astelephone numbers and are thus available for direct telephone serviceinitiation. After the direct telephone dialing scheme operates on theweb page document, the document is returned to the browser (step 412).The browser interprets the modified web page, and displays the modifiedweb page on the caller's computer screen (step 414). FIG. 5A illustratesan exemplary web page without being modified by the direct telephonedialing scheme of the present invention. In FIG. 5A, a telephone listingof pregnancy centers provided by YellowBook.com™ is shown. FIG. 5Billustrates the same web page after the operation of the directtelephone dialing scheme of the present invention. The character stringsin the web page that have been underlined have been designated astelephone numbers and can be used to activate internet telephoneservice.

To place a telephone call to a telephone number designated by the directtelephone dialing scheme, the caller selects the designated telephonenumbers by clicking on the underlined or hi-lighted text (step 416).Because the designated telephone number is a link to an internettelephone service provider, selection of the telephone number launchesthe internet telephone service (step 418). The internet telephoneservice proceeds in accordance with the communication protocol of theservice provider. In one instance, the service provider requires thecaller to login to the service provider's network. Thus, the serviceprovider determines whether or not the caller has already logged intothe network (step 419). If the caller has not logged in, then theservice provider prompts the caller for login information (step 420).After the caller logs into the provider's network, the internettelephone service provider places the telephone call to the designatedtelephone number (step 422). As mentioned above, any number of internettelephony technology can be used to place the telephone call andaccomplish voice communication between the caller and the designatedaudio communication device. The services provided by Dialpad.com are oneexemplary internet telephone service.

According to another embodiment of the present invention, the telephonenumber detection step 408 of the direct telephone dialing scheme furtherdetects whether the character string identified as a telephone number isitself a hypertext link. If the character string is itself a hypertextlink, then the direct telephone dialing scheme will not designate thecharacter string as a telephone number and modification step 410 willnot modify the character string into a link to an internet telephoneservice provider. In this manner, the direct telephone dialing schemeavoids writing over existing links in the web page and preserves theintegrity of the web page document. In one embodiment, when the web pageis written in HTML format, the direct telephone dialing schemedetermines if a character string is a hypertext link by detecting forthe anchor element A or a preceding the character string which is usedto denote the character string as a hypertext link.

According to yet another embodiment of the present invention, the directtelephone dialing scheme provides a caller interface to allow the callerto enable or disable the direct telephone dialing function. Whendisabled, the browser operates according to the flow chart illustratedin FIG. 2.

An implementation of the direct telephone dialing scheme of the presentinvention is now described using Microsoft Internet Explorer™ as anexample. Of course, persons of ordinary skill in the art can adapt thepresent teachings to work with other types of web browsers. Appendix Aincludes a computer program listing of components of the MicrosoftVisual C++ project used to create a dynamically linked library (DLL)named IEHooker.DLL which implements the direct telephone dialing schemeaccording to one embodiment of the present invention. The filescontained in the computer program listing detail the customization forimplementing the direct telephone dialing scheme in Internet Explorer.When a caller installs IEHooker.DLL onto its computer, the objects inthe DLL become registered with the Windows Registry and will beavailable for use by Internet Explorer. In the present implementation,the direct telephone dialing scheme is applied to the internet telephoneservice provided by Dialpad.com and the direct telephone dialing schemeis called “Dialpad Everywhere.” Appendices A and B are not necessary tothe understanding of the invention, but are provided merely asadditional examples.

In the present embodiment, the direct telephone dialing scheme isimplemented as a Browser Helper Object (BHO) of Internet Explorer.Browser Helper Objects are in-process Component Object Model (COM)components and can be applied to allow one to customize Internet.Explorer to create a specialized version of the browser. For a detaileddescription of Browser Helper Objects, see Browser Helper Objects: TheBrowser the Way You Want it by Dino Esposito, January 1999, available atthe following web site:http://msdn.microsoft.com/library/techart/bho.htm. The article isincorporated herein by reference in its entirety. In brief, BHOs arecomponent objects which Internet Explorer loads each time theapplication is started. A BHO can be used to detect the browser'stypical events or install hooks to monitor messages and actions inInternet Explorer.

A BHO, as a COM in-process server, is registered under a certainregistry's key so that Internet Explorer can look up and load thebrowser help object during startup. The CIEHooker.rgs file in Appendix Ais a registration script file used to create registry entries forimplementing the direct telephone dialing scheme upon installation ofthe CIEHooker.DLL file. The following Microsoft Windows registry foldersare created in one example:

HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Explorer/’Browser HelperObjects’/{16122F02-9713-11D3-9744-005004116944}HKEY_CLASSES_ROOT/IEHooker.CIEHooker.1HKEY_CLASSES_ROOT/IEHooker.CIEHooker.1/CLSIDHKEY_CLASSES_ROOT/IEHooker.CIEHookerHKEY_CLASSES_ROOT/IEHooker.CIEHooker/CLSIDHKEY-CLASSES_ROOT/IEHooker.CIEHooker/CurVer

Example modifications to the Windows registry for implementing thedirect telephone dialing scheme of the present invention in InternetExplorer is also shown in Appendix B. In the present embodiment, aregistry is also created to query the caller to set and determine theoperation status of the direct telephone dialing feature. In operation,the registry provides a caller interface where the caller may enable ordisable the direct telephone dialing feature.

The file CIEHooker.cpp in Appendix A is a source file containing theoverrides needed to hook the direct telephone dialing feature intoInternet Explorer as a browser helper object. The direct telephonedialing BHO executes custom codes when certain events from the browsertake place. Here, the custom codes are executed during the eventsDISPID_DOCUMENTCOMPLETE and DISPID_ONQUIT. CIEHooker.h is a header filefor CIEHooker.cpp.

In the present embodiment, the custom codes for the direct telephonedialing feature are CheckNum.h (the header file) and CheckNum.cpp whichis a source file containing a program segment for parsing the text inthe document for telephone numbers and modifying the telephone numbersinto links to an internet telephone service provider. In the presentimplementation, the links are hyperlinks as will be described in moredetail below.

In operation, when Internet Explorer completes downloading of a web pagedocument, typically written in HTML (step 404 in FIG. 4), the programsegment embodiment in the CheckNum.cpp code is executed to detect andmodify text strings which constitute as telephone numbers (steps 408 and410 of FIG. 4). In CheckNum.cpp, the telephone number formats describedabove are used to detect the presence of telephone numbers in thecharacter strings of the web page document. After a telephone number isdetected, the program of CheckNum.cpp inserts three link strings to thetelephone number to convert the telephone number to a hyperlink. Forexample, the original character string in the web page document mayappear as follows (note that the telephone number string is denoted bythe argument phonenumber):

<Font>phonenumber</Font>

In the present implementation the direct telephone dialing schemeinserts three link strings into the character string above as follows:

[Link String1] phonenumber [Link String2]

phonenumber [Link String3].

The three link strings are defined as follows:

Link String1 <FONT CLASS=‘PHONE’ STYLE=‘CURSOR=HAND;’ COLOR=‘#0000FF’OnMouseOut=window.event.srcElement.style.color=‘#0000FF’OnMouseOver=window. event.srcElement.style.color=‘#FF0000’OnClick=window.open(‘http://www.dialpad.com/cgi-bin/launch. pL?Number=Link String2 ’,’Dialpad’,’scrollbars=no,resizable=no,width=420,height=370’)><U> Link String3 </U></Font>

In the present example, Link String1 contains commands for controllingthe rendering and style of the mouse on the caller's host computer, suchas the “OnMouseOut” and “OnMouseOver” commands. These commands are ofcourse optional. The “OnClick command” in Link String1 modifies thecharacter string into a link for launching a server side script of aninternet telephone service provider. Here, the internet telephoneservice provider is Dialpad.com. When the OnClick command is executed,the phonenumber parameter appended to the end of Link String1 is passedwith the link to the server side script of the internet telephoneservice provider (i.e., Dialpad.com). The server side script is linkedto an applet for activating the internet telephone service at theprovider's server. When the applet is launched, the service providerdials the telephone number received via the phonenumber parameter. Here,the server side script launches the Dialpad applet for initiating voicecommunication over the internet using the network described inaforementioned patent application Ser. No. 09/401,898, entitled ScalableCommunications System, of Wongyu Cho et al.

When the OnClick command is executed, the service provider may provide awindow on the computer display identifying the telephone serviceprovider and the status of the telephone call. Link String2 containsstandard window sizing parameters and properties for defining thedisplay window of the telephone service provider. In the presentexample, Link String2 is used for the Dialpad.com telephone service.Link String2 or similar command strings may be optional for othertelephone service providers. At the end of Link String2, the phonenumberparameter is again inserted for providing to the computer display thecharacter string which has been identified as a telephone number. In thepresent implementation, the character string is being underlined by theaction of Link String3. Of course, other formatting functions can beused. After the execution of the program CheckNum.cpp, the web page isreturned to Internet Explorer for display.

In the present embodiment, CheckNum.cpp includes a routine for excludingmodification of character strings which are already a hypertext link. InHTML, an anchor element, A or a, is used to denote a text string as ahypertext link. CheckNum.cpp checks for the presence of the anchorelement A and if a character string is preceded by <A or <a, the stringis skipped to avoid modifying any existing hypertext link in the webpage document.

The direct telephone dialing scheme can also be implemented in NetscapeNavigator. The Direct Dial software program can be written as a Javascript. Then, the Java script is installed and activated using ScriptSigning. A description of Script Signing can be found at the web site:

http://msdn.microsoft.com/library/partbook/instantj/scriptbasedsecurity.htm.

The direct telephone dialing scheme for internet telephony has manyadvantages. First, a caller can dial telephone numbers from any webpages and do not need to switch to an internet service provider's website to access the internet telephone service. This is particularlyuseful when the caller is using internet yellow pages to generate a listof telephone numbers to call. Second, the caller can dial any of thetelephone numbers identified by the scheme without the need to recordthe telephone number and type in the number onto a console of theservice provider. Third, the caller does not have to leave the web sitefrom which he makes the call and thus can inquire about information onthe web site while communicating with the destination telephone number.

The above detailed descriptions are provided to illustrate specificembodiments of the present invention and are not intended to belimiting. Numerous modifications and variations within the scope of thepresent invention are possible. The present invention is defined by theappended claims.

1. A method for initiating internet telephone service from a web pagecontaining a telephone number, comprising: accessing the web page usinga browser; downloading a web page document associated with the web page;parsing the web page document for detecting a character stringrepresenting a telephone number; determining if the character string isa hypertext link; if the character string is not a hypertext link, then:modifying the character string in the web page document into a link tothe internet telephone service, providing the web page documentincluding the modified character string to the browser; and displayingthe web page on the browser including the modified character string,wherein the act of parsing the web page for detecting a character stringindicative of a telephone number comprises: determining if the characterstring includes alphanumeric characters matching one or morepredetermined telephone number formats; and if the character stringmatches a first one of the predetermined telephone number format,designating the character string as a telephone number; and if thecharacter string is a hypertext link, refraining from designating thecharacter string as a telephone number even if the character stringmatches a first one of the predetermined telephone number format.
 2. Themethod of claim 1, further comprising: selecting the modified characterstring indicative of the telephone number; activating the link to theinternet telephone service; passing the telephone number to the internettelephone service; initiating a telephone call to the telephone number;and establishing two-way communications between a caller selecting thecharacter string and a destination audio device designated by thetelephone number.
 3. The method of claim 2, wherein the initiating atelephone call to the telephone number comprises: launching a serverside script at the internet telephone service for initiating thetelephone call.
 4. The method of claim 3, wherein the act of launching aserver side script at the internet telephone service comprises:determining if the caller has logged into the telephone service; if thecaller has not logged in, requesting the caller to log into thetelephone service; and placing a telephone call to the telephone numberthrough the internet telephone service.
 5. The method of claim 1,wherein the one or more predetermined telephone number formats includeat least one of the following: (###) ###-####, (###) ###-####,###.###.####, ###/###/####, ###/###-####, ###-###-####, (###-###-####),#-###-###-####, +# (###) ###-####, +# (###) ###-####, +# ### ### ####,+#-### ### ####, +#-### ###-####, +#-###-###-####, ### ### ####, ######.####, and ### ###-####, where # represents a digit between 0 and 9or a character between A and Z.
 6. The method of claim 5, wherein theone or more predetermined telephone number formats further include##########, where the first three characters are numeric digits between0 and
 9. 7. The method of claim 1, wherein the web page document iswritten in hypertext markup language (HTML) and the determining if thecharacter string is a hypertext link comprises: determining if thecharacter string is preceded by the character A or a.
 8. The method ofclaim 1, further comprising: providing a caller-selectable interface forselectively enabling or disabling the acts of parsing the web pagedocument and modifying the character string in the web page document. 9.A system for initiating internet telephone service from a web pagecontaining a telephone number, comprising: a browser for use indownloading a web page document associated with the web page; and aprocessor for executing instructions that perform actions including:parsing the web page document for detecting a character stringrepresenting a telephone number; determining if the character string isa hypertext link; if the character string is not a hypertext link, then:modifying the character string in the web page document into a link tothe internet telephone service; providing the web page documentincluding the modified character string to the browser; and providingthe web page for display on the browser including the modified characterstring, wherein the act of parsing the web page for detecting acharacter string indicative of a telephone number comprises: determiningif the character string includes alphanumeric characters matching one ormore predetermined telephone number formats; and if the character stringmatches a first one of the predetermined telephone number format,designating the character string as a telephone number; and if thecharacter string is a hypertext link, refraining from modifying thecharacter string.
 10. The system of claim 9, wherein the modifieddisplay for the telephone number includes at least one of a highlightedtelephone number, an underlined telephone number, or a bolded telephonenumber.
 11. The system of claim 9, wherein determining if the characterstring includes alphanumeric characters further comprises performing acomparison of the character string to at least one of a domestictelephone area code, international country code, international citycode, or an international telephone area code.
 12. The system of claim9, wherein the web page document is written in hypertext markup language(HTML) and the determining if the character string is a hypertext linkcomprises: determining if the character string is preceded by thecharacter A or a.
 13. The system of claim 9, wherein at least a portionof the executed instructions comprise a downloaded application that isarranged as at least one of a dynamic linked library or a java script.14. The system of claim 9, wherein the executing instructions furtherprovide a caller interface that enables a caller to enable or disable adirect telephone dialing function.
 15. The system of claim 9, whereinthe executing instructions further include an application is configuredand arranged to perform further actions, including, until a caller islogged into the telephone service, preventing the providing of thetelephone service over the gateway.
 16. A client device for initiatinginternet telephone service from a web page containing a telephonenumber, comprising: a browser that is used to download a web pagedocument associated with the web page; and a processor that executesinstructions that perform actions including: parsing the web pagedocument for detecting a character string representing a telephonenumber; selectively performing the following actions, while avoidingwriting over an existing hypertext link within the web page when thecharacter string is determined to be a hypertext link: modifying thecharacter string in the web page document into a link to the internettelephone service; providing the web page document including themodified character string to the browser; and providing the web page fordisplay on the browser including the modified character string, whereinthe act of parsing the web page for detecting a character stringindicative of a telephone number by determining if the character stringincludes alphanumeric characters matching one or more predeterminedtelephone number formats, and if the character string matches a firstone of the predetermined telephone number format, designating thecharacter string as a telephone number.
 17. The client device of claim16, wherein selectively performing the following actions, while avoidingwriting over existing hyperlinks within the web page further comprisesdetermining if the character string is a hypertext link, and if thecharacter string is a hypertext link preserving an integrity of the webpage document.
 18. The client device of claim 16, wherein the one ormore predetermined telephone number formats further include ##########,where the first three characters are numeric digits between 0 and
 9. 19.The client device of claim 16, wherein the web page document is writtenin hypertext markup language (HTML) and wherein selectively performingthe following actions, while avoiding writing over existing hypertextlinks within the web page further comprises determining if the characterstring is preceded by the character A or a.
 20. The client device ofclaim 16, wherein the processor executes instructions that performactions, further including: electing the modified character stringindicative of the telephone number; activating the link to the internettelephone service; passing the telephone number to the internettelephone service; initiating a telephone call to the telephone number;and establishing two-way communications between a caller selecting thecharacter string and a destination audio device designated by thetelephone number.